package main

import "fmt"

// go函数可以返回多个值
func test() (int, int, int) {
	return 1, 2, 3
}

func test1() (a, b, c int) {
	return 1, 2, 3
}

func main() {
	a, b, c := 10, 20, 30
	fmt.Println("a,b,c", a, b, c)

	// 交换2个变量的值
	fmt.Printf("a=%d, b=%d\n", a, b)
	b, a = a, b
	fmt.Printf("a=%d, b=%d\n", a, b)

	// java方式
	var temp int
	temp = a
	a = b
	b = temp

	// 匿名变量，丢弃数据不处理
	i, j := 1, 2
	_, i = i, j

	// 匿名变量
	temp, _ = i, j
	fmt.Println("tmp = ", temp)

	var z, k, l int
	z, k, l = test()
	fmt.Printf("j = %d, k = %d, l = %d\n", z, k, l)

	z, k, l = 4, 5, 6
	// 丢弃不需要的变量
	_, k, _ = test()
	fmt.Printf("j = %d, k = %d, l = %d\n", z, k, l)
}
